<html>
<head>
	<link type="text/css" rel="stylesheet" href="../css/default.css" />
    <link type="text/css" rel="stylesheet" href="../js/rainbow/themes/sunburst.css">
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
</head>
<body>
	<div class="page">
<h2>IgeEngine <span>CLASS</span></h2>
<p>Declared in <a href="../../engine/core/IgeEngine.js">IgeEngine.js</a></p>
<div class="itemBox">
	<div class="header">Description</div>
	<div class="content">The base engine class definition.</div>
</div>
<!--=if{extends}[-->
<div class="itemBox">
	<div class="header">Extends</div>
	<div class="content"><a href="IgeEntity.html">IgeEntity</a></div>
</div>
<!--=if{extends}]-->
<h2>Methods</h2><a name="$"></a>
<h3 class="methodTitle">$</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Returns an object from the engine's object register by the object's id. If the item passed is not a string id then the item is returned as is. If no item is passed the engine itself is returned.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">$</span>({<span class="argType">String || Object</span>} <span class="argName">item</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">String || Object</span>}<span class="argName">item</span> The id of the item to return, or if an object, returns the object as-is.</li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="$$"></a>
<h3 class="methodTitle">$$</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Returns an array of all objects that have been assigned the passed category name.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">$$</span>({<span class="argType">String</span>} <span class="argName">categoryName</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">String</span>}<span class="argName">categoryName</span> The name of the category to return all objects for.</li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="$$$"></a>
<h3 class="methodTitle">$$$</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Returns an array of all objects that have been assigned the passed group name.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">$$$</span>({<span class="argType">String</span>} <span class="argName">groupName</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">String</span>}<span class="argName">groupName</span> The name of the group to return all objects for.</li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="register"></a>
<h3 class="methodTitle">register</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Register an object with the engine object register. The register allows you to access an object by it's id with a call to ige.$(objectId).</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">register</span>({<span class="argType">Object</span>} <span class="argName">obj</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Object</span>}<span class="argName">obj</span> The object to register.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="unRegister"></a>
<h3 class="methodTitle">unRegister</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Un-register an object with the engine object register. The object will no longer be accessible via ige.$().</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">unRegister</span>({<span class="argType">Object</span>} <span class="argName">obj</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Object</span>}<span class="argName">obj</span> The object to un-register.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="categoryRegister"></a>
<h3 class="methodTitle">categoryRegister</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Register an object with the engine category register. The register allows you to access an object by it's category with a call to ige.$$(categoryName).</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">categoryRegister</span>({<span class="argType">Object</span>} <span class="argName">obj</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Object</span>}<span class="argName">obj</span> The object to register.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="categoryUnRegister"></a>
<h3 class="methodTitle">categoryUnRegister</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Un-register an object with the engine category register. The object will no longer be accessible via ige.$$().</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">categoryUnRegister</span>({<span class="argType">Object</span>} <span class="argName">obj</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Object</span>}<span class="argName">obj</span> The object to un-register.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="groupRegister"></a>
<h3 class="methodTitle">groupRegister</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Register an object with the engine group register. The register allows you to access an object by it's groups with a call to ige.$$$(groupName).</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">groupRegister</span>({<span class="argType">Object</span>} <span class="argName">obj</span>, {<span class="argType">String</span>} <span class="argName">groupName</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Object</span>}<span class="argName">obj</span> The object to register.</li><li>{<span class="argType">String</span>}<span class="argName">groupName</span> The name of the group to register the object in.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="groupUnRegister"></a>
<h3 class="methodTitle">groupUnRegister</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Un-register an object with the engine group register. The object will no longer be accessible via ige.$$$().</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">groupUnRegister</span>({<span class="argType">Object</span>} <span class="argName">obj</span>, {<span class="argType">String</span>} <span class="argName">groupName</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Object</span>}<span class="argName">obj</span> The object to un-register.</li><li>{<span class="argType">String</span>}<span class="argName">groupName</span> The name of the group to un-register the object from.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="requireScript"></a>
<h3 class="methodTitle">requireScript</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Load a js script file into memory via a path or url.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">requireScript</span>({<span class="argType">String</span>} <span class="argName">url</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">String</span>}<span class="argName">url</span> The file's path or url.</li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="_requireScriptLoaded"></a>
<h3 class="methodTitle">_requireScriptLoaded</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Called when a js script has been loaded via the requireScript method.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">_requireScriptLoaded</span>({<span class="argType">Element</span>} <span class="argName">elem</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Element</span>}<span class="argName">elem</span> The script element added to the DOM.</li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="addGraph"></a>
<h3 class="methodTitle">addGraph</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Adds a scenegraph class into memory.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">addGraph</span>({<span class="argType">String</span>} <span class="argName">className</span>, {<span class="argType">Object</span>} <span class="argName">options</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">String</span>}<span class="argName">className</span> The name of the scenegraph class.</li><li>{<span class="argType">Object</span>}<span class="argName">options</span> Optional object to pass to the scenegraph class graph() method.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="removeGraph"></a>
<h3 class="methodTitle">removeGraph</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Removes a scenegraph class into memory.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">removeGraph</span>({<span class="argType">String</span>} <span class="argName">className</span>, {<span class="argType">Object</span>} <span class="argName">options</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">String</span>}<span class="argName">className</span> The name of the scenegraph class.</li><li>{<span class="argType">Object</span>}<span class="argName">options</span> Optional object to pass to the scenegraph class graph() method.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="enableUpdates"></a>
<h3 class="methodTitle">enableUpdates</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Allows the update() methods of the entire scenegraph to be temporarily enabled or disabled. Useful for debugging.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">enableUpdates</span>({<span class="argType">Boolean</span>} <span class="argName">val</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Boolean</span>}<span class="argName">val</span> If false, will disable all update() calls.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="enableRenders"></a>
<h3 class="methodTitle">enableRenders</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Allows the tick() methods of the entire scenegraph to be temporarily enabled or disabled. Useful for debugging.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">enableRenders</span>({<span class="argType">Boolean</span>} <span class="argName">val</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Boolean</span>}<span class="argName">val</span> If false, will disable all tick() calls.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="debugEnabled"></a>
<h3 class="methodTitle">debugEnabled</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Enables or disables the engine's debug mode. Enabled by default.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">debugEnabled</span>({<span class="argType">Boolean</span>} <span class="argName">val</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Boolean</span>}<span class="argName">val</span> If true, will enable debug mode.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="debugTiming"></a>
<h3 class="methodTitle">debugTiming</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Enables or disables the engine's debug timing system. The timing system will time all update and rendering code down the scenegraph and is useful for tracking long-running code but comes with a small performance penalty when enabled. Enabled by default.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">debugTiming</span>({<span class="argType">Boolean</span>} <span class="argName">val</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Boolean</span>}<span class="argName">val</span> If true, will enable debug timing mode.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="hideAllExcept"></a>
<h3 class="methodTitle">hideAllExcept</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Sets the opacity of every object on the scenegraph to zero *except* the one specified by the given id argument.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">hideAllExcept</span>({<span class="argType">String</span>} <span class="argName">id</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">String</span>}<span class="argName">id</span> The id of the object not to hide.</li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="showAll"></a>
<h3 class="methodTitle">showAll</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Calls the show() method for every object on the scenegraph.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">showAll</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="setFps"></a>
<h3 class="methodTitle">setFps</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Sets the frame rate at which new engine steps are fired. Setting this rate will override the default requestAnimFrame() method as defined in IgeBase.js and on the client-side, will stop usage of any available requestAnimationFrame() method and will use a setTimeout()-based version instead.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">setFps</span>({<span class="argType">Number</span>} <span class="argName">fpsRate</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Number</span>}<span class="argName">fpsRate</span> </li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="showStats"></a>
<h3 class="methodTitle">showStats</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Gets / sets the stats output mode that is in use. Set to 1 to display default stats output at the lower-left of the HTML page.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">showStats</span>({<span class="argType">Number</span>} <span class="argName">val</span>, {<span class="argType">Number</span>} <span class="argName">interval</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Number</span>}<span class="argName">val</span> </li><li>{<span class="argType">Number</span>}<span class="argName">interval</span> The number of milliseconds between stats updates.</li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="_createStatsDiv"></a>
<h3 class="methodTitle">_createStatsDiv</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Creates the stats output div on the DOM.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">_createStatsDiv</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="_removeStatsDiv"></a>
<h3 class="methodTitle">_removeStatsDiv</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Removes the stats output div from the DOM.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">_removeStatsDiv</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="defineClass"></a>
<h3 class="methodTitle">defineClass</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Defines a class in the engine's class repository.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">defineClass</span>({<span class="argType">String</span>} <span class="argName">id</span>, {<span class="argType">Object</span>} <span class="argName">obj</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">String</span>}<span class="argName">id</span> The unique class ID or name.</li><li>{<span class="argType">Object</span>}<span class="argName">obj</span> The class definition.</li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="getClass"></a>
<h3 class="methodTitle">getClass</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Retrieves a class by it's ID that was defined with a call to defineClass().</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">getClass</span>({<span class="argType">String</span>} <span class="argName">id</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">String</span>}<span class="argName">id</span> The ID of the class to retrieve.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">Object</span>} The class definition.</div>
    
</div><a name="newClassInstance"></a>
<h3 class="methodTitle">newClassInstance</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Generates a new instance of a class defined with a call to the defineClass() method. Passes the options parameter to the new class during it's constructor call.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">newClassInstance</span>({<span class="argType"></span>} <span class="argName">id</span>, {<span class="argType"></span>} <span class="argName">options</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType"></span>}<span class="argName">id</span> </li><li>{<span class="argType"></span>}<span class="argName">options</span> </li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="dependencyCheck"></a>
<h3 class="methodTitle">dependencyCheck</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Checks if all engine start dependencies have been satisfied.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">dependencyCheck</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc">Returns {<span class="argType">Boolean</span>} </div>
    
</div><a name="viewportDepth"></a>
<h3 class="methodTitle">viewportDepth</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Gets / sets the flag that determines if viewports should be sorted by depth like regular entities, before they are processed for rendering each frame. Depth-sorting viewports increases processing requirements so if you do not need to stack viewports in a particular order, keep this flag false.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">viewportDepth</span>({<span class="argType">Boolean</span>} <span class="argName">val</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Boolean</span>}<span class="argName">val</span> </li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">Boolean</span>} </div>
    
</div><a name="dependencyTimeout"></a>
<h3 class="methodTitle">dependencyTimeout</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Sets the number of milliseconds before the engine gives up waiting for dependencies to be satisfied and cancels the startup procedure.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">dependencyTimeout</span>({<span class="argType"></span>} <span class="argName">val</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType"></span>}<span class="argName">val</span> </li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="updateProgress"></a>
<h3 class="methodTitle">updateProgress</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Updates the loading screen DOM elements to show the update progress.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">updateProgress</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="textureLoadStart"></a>
<h3 class="methodTitle">textureLoadStart</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Adds one to the number of textures currently loading.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">textureLoadStart</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="textureLoadEnd"></a>
<h3 class="methodTitle">textureLoadEnd</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Subtracts one from the number of textures currently loading and if no more need to load, it will also call the _allTexturesLoaded() method.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">textureLoadEnd</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="textureFromUrl"></a>
<h3 class="methodTitle">textureFromUrl</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Returns a texture from the texture store by it's url.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">textureFromUrl</span>({<span class="argType">String</span>} <span class="argName">url</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">String</span>}<span class="argName">url</span> </li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">IgeTexture</span>} </div>
    
</div><a name="texturesLoaded"></a>
<h3 class="methodTitle">texturesLoaded</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Checks if all textures have finished loading and returns true if so.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">texturesLoaded</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc">Returns {<span class="argType">Boolean</span>} </div>
    
</div><a name="_allTexturesLoaded"></a>
<h3 class="methodTitle">_allTexturesLoaded</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Emits the "texturesLoaded" event.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">_allTexturesLoaded</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="globalSmoothing"></a>
<h3 class="methodTitle">globalSmoothing</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Gets / sets the default smoothing value for all new IgeTexture class instances. If set to true, all newly created textures will have smoothing enabled by default.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">globalSmoothing</span>({<span class="argType"></span>} <span class="argName">val</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType"></span>}<span class="argName">val</span> </li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="canvasReady"></a>
<h3 class="methodTitle">canvasReady</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Checks to ensure that a canvas has been assigned to the engine or that the engine is in server mode.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">canvasReady</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc">Returns {<span class="argType">Boolean</span>} </div>
    
</div><a name="newId"></a>
<h3 class="methodTitle">newId</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Generates a new unique ID</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">newId</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc">Returns {<span class="argType">String</span>} </div>
    
</div><a name="newIdHex"></a>
<h3 class="methodTitle">newIdHex</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Generates a new 16-character hexadecimal unique ID</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">newIdHex</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc">Returns {<span class="argType">String</span>} </div>
    
</div><a name="newIdFromString"></a>
<h3 class="methodTitle">newIdFromString</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Generates a new 16-character hexadecimal ID based on the passed string. Will always generate the same ID for the same string.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">newIdFromString</span>({<span class="argType">String</span>} <span class="argName">str</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">String</span>}<span class="argName">str</span> A string to generate the ID from.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">String</span>} </div>
    
</div><a name="start"></a>
<h3 class="methodTitle">start</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Starts the engine.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">start</span>({<span class="argType"></span>} <span class="argName">callback</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType"></span>}<span class="argName">callback</span> </li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="stop"></a>
<h3 class="methodTitle">stop</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Stops the engine.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">stop</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc">Returns {<span class="argType">Boolean</span>} </div>
    
</div><a name="autoSize"></a>
<h3 class="methodTitle">autoSize</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Gets / sets the _autoSize property. If set to true, the engine will listen for any change in screen size and resize the front-buffer (canvas) element to match the new screen size.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">autoSize</span>({<span class="argType"></span>} <span class="argName">val</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType"></span>}<span class="argName">val</span> </li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">Boolean</span>} </div>
    
</div><a name="renderContext"></a>
<h3 class="methodTitle">renderContext</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Gets / sets the rendering context that will be used when getting the context from canvas elements.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">renderContext</span>({<span class="argType">String</span>} <span class="argName">contextId</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">String</span>}<span class="argName">contextId</span> The context such as '2d'. Defaults to '2d'.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="createFrontBuffer"></a>
<h3 class="methodTitle">createFrontBuffer</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Creates a front-buffer or "drawing surface" for the renderer.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">createFrontBuffer</span>({<span class="argType">Boolean</span>} <span class="argName">autoSize</span>, {<span class="argType">Boolean</span>} <span class="argName">dontScale</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Boolean</span>}<span class="argName">autoSize</span> Determines if the canvas will auto-resize when the browser window changes dimensions. If true the canvas will automatically fill the window when it is resized.</li><li>{<span class="argType">Boolean</span>}<span class="argName">dontScale</span> If set to true, IGE will ignore device pixel ratios when setting the width and height of the canvas and will therefore not take into account "retina", high-definition displays or those whose pixel ratio is different from 1 to 1.</li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="canvas"></a>
<h3 class="methodTitle">canvas</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Sets the canvas element that will be used as the front-buffer.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">canvas</span>({<span class="argType"></span>} <span class="argName">elem</span>, {<span class="argType"></span>} <span class="argName">autoSize</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType"></span>}<span class="argName">elem</span> The canvas element.</li><li>{<span class="argType"></span>}<span class="argName">autoSize</span> If set to true, the engine will automatically size the canvas to the width and height of the window upon window resize.</li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="clearCanvas"></a>
<h3 class="methodTitle">clearCanvas</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Clears the entire canvas.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">clearCanvas</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="removeCanvas"></a>
<h3 class="methodTitle">removeCanvas</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Removes the engine's canvas from the DOM.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">removeCanvas</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="openUrl"></a>
<h3 class="methodTitle">openUrl</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Opens a new window to the specified url. When running in a native wrapper, will load the url in place of any existing page being displayed in the native web view.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">openUrl</span>({<span class="argType"></span>} <span class="argName">url</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType"></span>}<span class="argName">url</span> </li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="showWebView"></a>
<h3 class="methodTitle">showWebView</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Loads the specified URL as an HTML overlay on top of the front buffer in an iFrame. If running in a native wrapper, will load the url in place of any existing page being displayed in the native web view.  When the overlay is in use, no mouse or touch events will be fired on the front buffer. Once you are finished with the overlay, call hideOverlay() to re-enable interaction with the front buffer.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">showWebView</span>({<span class="argType">String</span>} <span class="argName">url</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">String</span>}<span class="argName">url</span> </li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="hideWebView"></a>
<h3 class="methodTitle">hideWebView</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Hides the web view overlay.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">hideWebView</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="layerCall"></a>
<h3 class="methodTitle">layerCall</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Evaluates javascript sent from another frame.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">layerCall</span>({<span class="argType"></span>} <span class="argName">js</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType"></span>}<span class="argName">js</span> </li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="mousePos"></a>
<h3 class="methodTitle">mousePos</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Returns the mouse position relative to the main front buffer. Mouse position is set by the ige.input component (IgeInputComponent)</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">mousePos</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc">Returns {<span class="argType">IgePoint</span>} </div>
    
</div><a name="_resizeEvent"></a>
<h3 class="methodTitle">_resizeEvent</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Handles the screen resize event.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">_resizeEvent</span>({<span class="argType"></span>} <span class="argName">event</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType"></span>}<span class="argName">event</span> </li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="_canvasPosition"></a>
<h3 class="methodTitle">_canvasPosition</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Gets the bounding rectangle for the HTML canvas element being used as the front buffer for the engine. Uses DOM methods.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">_canvasPosition</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc">Returns {<span class="argType">ClientRect</span>} </div>
    
</div><a name="toggleFullScreen"></a>
<h3 class="methodTitle">toggleFullScreen</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Toggles full-screen output of the main ige canvas. Only works if called from within a user-generated HTML event listener.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">toggleFullScreen</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="watchStart"></a>
<h3 class="methodTitle">watchStart</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Adds a new watch expression to the watch list which will be displayed in the stats overlay during a call to _statsTick().</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">watchStart</span>({<span class="argType">*</span>} <span class="argName">evalStringOrObject</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">*</span>}<span class="argName">evalStringOrObject</span> The expression to evaluate and display the result of in the stats overlay, or an object that contains a "value" property.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">Integer</span>} The index of the new watch expression you just added to the watch array.</div>
    
</div><a name="watchStop"></a>
<h3 class="methodTitle">watchStop</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Removes a watch expression by it's array index.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">watchStop</span>({<span class="argType">Number</span>} <span class="argName">index</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Number</span>}<span class="argName">index</span> The index of the watch expression to remove from the watch array.</li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="traceSet"></a>
<h3 class="methodTitle">traceSet</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Sets a trace up on the setter of the passed object's specified property. When the property is set by any code the debugger line is activated and code execution will be paused allowing you to step through code or examine the call stack to see where the property set originated.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">traceSet</span>({<span class="argType">Object</span>} <span class="argName">obj</span>, {<span class="argType">String</span>} <span class="argName">propName</span>, {<span class="argType">Number</span>} <span class="argName">sampleCount</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Object</span>}<span class="argName">obj</span> The object whose property you want to trace.</li><li>{<span class="argType">String</span>}<span class="argName">propName</span> The name of the property you want to put the trace on.</li><li>{<span class="argType">Number</span>}<span class="argName">sampleCount</span> The number of times you want the trace to break with the debugger line before automatically switching off the trace.</li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="traceSetOff"></a>
<h3 class="methodTitle">traceSetOff</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Turns off a trace that was created by calling traceSet.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">traceSetOff</span>({<span class="argType">Object</span>} <span class="argName">object</span>, {<span class="argType">String</span>} <span class="argName">propName</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Object</span>}<span class="argName">object</span> The object whose property you want to disable a trace against.</li><li>{<span class="argType">String</span>}<span class="argName">propName</span> The name of the property you want to disable the trace for.</li></ul></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="findBaseClass"></a>
<h3 class="methodTitle">findBaseClass</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Finds the first Ige* based class that the passed object has been derived from.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">findBaseClass</span>({<span class="argType"></span>} <span class="argName">obj</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType"></span>}<span class="argName">obj</span> </li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="getClassDerivedList"></a>
<h3 class="methodTitle">getClassDerivedList</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Returns an array of all classes the passed object derives from in order from current to base.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">getClassDerivedList</span>({<span class="argType"></span>} <span class="argName">obj</span>, {<span class="argType"></span>} <span class="argName">arr</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType"></span>}<span class="argName">obj</span> </li><li>{<span class="argType"></span>}<span class="argName">arr</span> </li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="_secondTick"></a>
<h3 class="methodTitle">_secondTick</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Is called every second and does things like calculate the current FPS.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">_secondTick</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="_statsTick"></a>
<h3 class="methodTitle">_statsTick</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Updates the stats HTML overlay with the latest data.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">_statsTick</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="timeScale"></a>
<h3 class="methodTitle">timeScale</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Gets / sets the current time scalar value. The engine's internal time is multiplied by this value and it's default is 1. You can set it to 0.5 to slow down time by half or 1.5 to speed up time by half. Currently will not accept a negative value.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">timeScale</span>({<span class="argType">Number</span>} <span class="argName">val</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Number</span>}<span class="argName">val</span> The time scale value.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="incrementTime"></a>
<h3 class="methodTitle">incrementTime</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Increments the engine's interal time by the passed number of milliseconds.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">incrementTime</span>({<span class="argType">Number</span>} <span class="argName">val</span>, {<span class="argType">Number</span>} <span class="argName">lastVal</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Number</span>}<span class="argName">val</span> The number of milliseconds to increment time by.</li><li>{<span class="argType">Number</span>}<span class="argName">lastVal</span> The last internal time value, used to calculate delta internally in the method.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">Number</span>} </div>
    
</div><a name="currentTime"></a>
<h3 class="methodTitle">currentTime</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Get the current time from the engine.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">currentTime</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc">Returns {<span class="argType">Number</span>} The current time.</div>
    
</div><a name="pause"></a>
<h3 class="methodTitle">pause</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Gets / sets the pause flag. If set to true then the engine's internal time will no longer increment and will instead stay static.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">pause</span>({<span class="argType"></span>} <span class="argName">val</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType"></span>}<span class="argName">val</span> </li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="useManualTicks"></a>
<h3 class="methodTitle">useManualTicks</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Gets / sets the option to determine if the engine should schedule it's own ticks or if you want to manually advance the engine by calling tick when you wish to.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">useManualTicks</span>({<span class="argType">Boolean</span>} <span class="argName">val</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Boolean</span>}<span class="argName">val</span> </li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="manualTick"></a>
<h3 class="methodTitle">manualTick</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Schedules a manual tick.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">manualTick</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="useManualRender"></a>
<h3 class="methodTitle">useManualRender</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Gets / sets the option to determine if the engine should render on every tick or wait for a manualRender() call.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">useManualRender</span>({<span class="argType">Boolean</span>} <span class="argName">val</span>)</div>
    <div class="methodArgs"><ul class="argList"><li>{<span class="argType">Boolean</span>}<span class="argName">val</span> True to enable manual rendering, false to disable.</li></ul></div>
    <div class="methodReturnDesc">Returns {<span class="argType">*</span>} </div>
    
</div><a name="manualRender"></a>
<h3 class="methodTitle">manualRender</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Manually render a frame on demand. This is used in conjunction with the ige.useManualRender(true) call which will cause the engine to only render new graphics frames from the scenegraph once this method is called. You must call this method every time you wish to update the graphical output on screen.  Calling this method multiple times during a single engine tick will NOT make it draw more than one frame, therefore it is safe to call multiple times if required by different sections of game logic without incurring extra rendering cost.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">manualRender</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="engineStep"></a>
<h3 class="methodTitle">engineStep</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Called each frame to traverse and render the scenegraph.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">engineStep</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="sceneGraph"></a>
<h3 class="methodTitle">sceneGraph</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Walks the scene graph and outputs a console map of the graph.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">sceneGraph</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div><a name="getSceneGraphData"></a>
<h3 class="methodTitle">getSceneGraphData</h3>
<div class="methodSection">
    <!--=if{desc}[-->
    <div class="methodDesc">Walks the scenegraph and returns a data object of the graph.</div>
    <!--=if{desc}]-->
    <div class="methodDefinition"><span class="methodName">getSceneGraphData</span>()</div>
    <div class="methodArgs"></div>
    <div class="methodReturnDesc"></div>
    
</div>	</div>
    <script type="text/javascript">
        $(function () {
            $('code').attr('data-language', 'javascript');
        });
    </script>
    <script type="text/javascript" src="../js/rainbow/rainbow-custom.min.js"></script>
</body>
</html>